home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
bin
/
callback
< prev
next >
Wrap
Text File
|
1994-03-10
|
3KB
|
116 lines
#!/bin/sh
# @(#) callback - JPRadley v1.0 920921 - makes and uses an 'xc' script to
# @(#) call a remote site, have it ring us back with a login prompt.
echo -n "Remote system name? "
read SYSTEM # where are we calling?
echo -n "Their modem number? "
read NUMBER # what's the telephone number?
echo -n "Login name on $SYSTEM? "
read LOGIN # how shall we log in?
echo -n "Password for $LOGIN? "
stty -echo # but of course!
read PASSWD
stty echo
echo -n "\nBaud remote should use? "
read RSPEED # computer-modem speed on the remote
echo
What_To_Do=/usr/tmp/$SYSTEM.$$ # script for 'xc' to use
OURPORT=ttyA02 # we'll dial out on this port and the remote
OURNBR=7874639 # calls this number to ring this port
CAPTURE=/pub/jpr/logs/$SYSTEM # our log file for the session
trap "rm $What_To_Do" 0 # clean up when we leave
cat >$What_To_Do <<TeMpLaTe
debug "off"
tty "off"
set cfile $CAPTURE
set auto "off" # no capturing -- yet
set cis "off" # don't react to a spurious ^E
transmit "ats0=0e1q0v1^M" # modem should not be mute
waitfor "ok"
dial "$NUMBER"
echo " Dialing $NUMBER to get on to $SYSTEM"
while ! waitfor "connect" 70
do
echo " No connection; redialing"
redial
done
transmit "^M" # can't hurt
assign PATIENCE eq 3 # loop counter
while ! waitfor "ogin:" 6 # waiting 6 secs for the prompt
do
if PATIENCE eq 0
then echo "Can't get a login prompt"
beep; quit
fi
xmitbrk
decr PATIENCE
done
pause 2
transmit "$LOGIN^M"
echo " We're logging in now"
if ! waitfor "word:"
then
echo "Login failed, sorry!" ; beep; quit
else
transmit "$PASSWD^M^M" # the second CR is to cope with a possible
endif # tset command, and accept its default
transmit "/1/2/3^M" # an absolute pathname that shouldn't exist
if waitfor "not found"
then
echo " OK, we're on $SYSTEM; now we'll set up a callback"
else
echo "Login failed, sorry!" ; beep; quit
fi
transmit "echo 'yes|ct -w3 -s$RSPEED $OURNBR 2>/dev/null' | at now next min^M"
waitfor "job" # the 'at' command reports a job number
transmit "exit^M" # get off the remote system
pause 2 # disconnect might reset modem, so again:
transmit "ats0=1e1q0v1^M" # not mute, and auto-answer
waitfor "ok"
echo " It might be a couple of minutes until $SYSTEM rings us"
if ! waitfor "connect" 190
then
echo " It ain't gonna happen; sorry!"
beep; quit
endif
transmit "^M"
assign PATIENCE eq 3
while ! waitfor "ogin:" 6
do
if PATIENCE eq 0; then beep; quit; fi
xmitbrk; decr PATIENCE
done
pause 1; transmit "$LOGIN^M"
if ! waitfor "word:"; then beep; quit
else transmit "$PASSWD^M^M"
fi
set auto "on" # capturing starts when we hit terminal mode
transmit "/1/2/3; echo Thanks, \`uname\`, for providing this connection!^M"
waitfor "not found"
beep
TeMpLaTe
xc -s$What_To_Do -l$OURPORT
# th-th-aaa-t's all, folks, just drop those nickels & dimes in the slot...
# eof(callback)